package it.uniroma3.dia.ia.textcategorization.categorizer;

import java.util.Set;
import it.uniroma3.dia.ia.textcategorization.model.Category;
import it.uniroma3.dia.ia.textcategorization.model.Text;

/**
 * 
 * This is the interface of the objects responsible of
 * the actual text categorization.
 * 
 * @author Marco Liceti.
 *
 */
public interface Categorizer {
	
	/**
	 * @return the categories on which this Categorizer works
	 */
	public Set<Category> getCategories();
	
	/**
	 * 
	 * Performs the categorization of a Text instance.
	 * 
	 * @param text The Text instance to be categorized.
	 * @return the predicted Category.
	 */
	public Category categorize(Text text);

}
